package oracle;

import version1.Mysql;

import java.io.IOException;
import java.io.InputStream;
import java.sql.*;
import java.util.Properties;


/*
* JDBC链接Oracle数据库
* 开发步骤：
* 1.加载驱动--Oracle---oracle.jdbc.OracleDriver
*            Mysql---com.mysql.jdbc.Driver
* 2.获取链接--链接成功数据库对象--Connection对象
* 3.执行SQL语句【查询操作】
* ①oracle建表 login表 3个字段   序号、姓名、手机号
* ②编写静态sql:查询 select * from login;
* ③链接数据库对象同时获取：执行数据库对象：Statement对象
* 4.执行SQL操作
* 5.处理结果
* 6.释放资源：结果集对象、执行SQL对象、获取链接数据库对象
* */
public class OracleJDBC {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        //1.加载驱动
        Class.forName("oracle.jdbc.OracleDriver");
        //2.获取链接【准备工作】
        String username = "system";//Oracle用户名
        String password = "a20040628"; //Oracle密码
        String url = "jdbc:oracle:thin:@127.0.0.1:1521:XE";//Oracle链接地址
        Connection con = DriverManager.getConnection(url, username, password);
        //打桩--测试链接是否成功
        System.out.println("是否连接：" + con);
        //3.执行SQL语句 ②编写静态SQL：查询
        String sql = "select * from login";
        //③连接成功数据库获取：执行数据库对象
        Statement st = con.createStatement();
        //4.执行SQL操作---返回对象：ResultSet对象：保存查询所有结果集
        ResultSet rs = st.executeQuery(sql);
        //5.处理结果  死循环循环取所有的字段下记录
        while (rs.next()) { //next()获取当前表中所有字段,有字段返回true
            //获取字段getInt()取数据块整型
            int id = rs.getInt("id");
            String name = rs.getString("name");
            String phone = rs.getString("phone");
            System.out.println("序号" + id + "姓名：" + name + "手机号:");
            /*1.执行结果 2.增删改操作*/
        }
        // 插入操作
        String insertSql = "INSERT INTO login (id, name, phone) VALUES (1, '张三', '13800001111')";
        int rowsAffected = st.executeUpdate(insertSql);
        System.out.println("插入操作受影响行数：" + rowsAffected);
        //6.释放资源
        rs.close();
        st.close();
        con.close();
    }

}
























